Skip to content

feat(tools): add MiniMax voice cloning - #305

Open
octo-patch wants to merge 1 commit into
EverMind-AI:mainfrom
octo-patch:feat/minimax_voice_cloning
Open

feat(tools): add MiniMax voice cloning#305
octo-patch wants to merge 1 commit into
EverMind-AI:mainfrom
octo-patch:feat/minimax_voice_cloning

Conversation

@octo-patch

Copy link
Copy Markdown

Reason: Add executable voice cloning for the configured MiniMax backend.

Summary

  • Add a voice_clone tool that uploads MP3, M4A, or WAV source audio and creates a reusable voice.
  • Support global and China endpoints, optional prompt audio, transcript validation, normalization, noise reduction, preview text, and watermark controls.
  • Inherit the configured MiniMax provider key and register the tool only when its media configuration is enabled.
  • Parse upload and clone API status responses and return the created voice identifier.

Type

  • Fix
  • Feature
  • Docs
  • CI / tooling
  • Refactor
  • Other

Verification

  • uv run --frozen pytest -q -p no:everos_plugin tests/test_media_gen_voice_clone_minimax.py (4 passed)

  • uv run --frozen pytest -q -p no:everos_plugin tests/test_config_raven_sections.py (20 passed)

  • uv run --frozen ruff format --check raven/agent/tools/media_gen.py raven/agent/loop/main.py raven/config/schema.py tests/test_media_gen_voice_clone_minimax.py

  • uv run --frozen ruff check --ignore I001 raven/agent/tools/media_gen.py raven/agent/loop/main.py raven/config/schema.py tests/test_media_gen_voice_clone_minimax.py

  • uv run --frozen python -m py_compile raven/agent/tools/media_gen.py raven/agent/loop/main.py raven/config/schema.py tests/test_media_gen_voice_clone_minimax.py

  • git diff origin/main...HEAD --check

  • Relevant tests pass locally

  • Relevant lint / type checks pass locally

  • User-facing docs or screenshots are updated when needed

Risk

  • Security impact considered
  • Backward compatibility considered
  • Rollback path is clear for risky changes

The tool is opt-in and preserves existing media behavior. Rollback consists of removing the tool registration and its configuration field.

Related Issues

N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant